package com.weixue.service;

import com.weixue.controller.vo.NongFuMallIndexCategoryVO;
import com.weixue.controller.vo.SearchPageCategoryVO;
import com.weixue.entity.GoodsCategory;
import com.weixue.utils.PageQueryUtil;
import com.weixue.utils.PageResult;

import java.util.List;

/**
 * Day24
 *      分类管理模块业务层接口
 */
public interface NongFuMallCategoryService {

    /**
     * 1.查询后台管理系统分类分页数据
     */
    PageResult getCategorisPage(PageQueryUtil pageUtil);

    /**
     * 2.新增一条分类记录
     */
    String saveCategory(GoodsCategory goodsCategory);

    /**
     * 3.修改一条分类记录
     */
    String updateGoodsCategory(GoodsCategory goodsCategory);

    /**
     * 4.根据主键查询分类记录
     */
    GoodsCategory getGoodsCategoryById(Long id);

    /**
     * 5.批量删除分类数据
     */
    Boolean deleteBatch(Integer[] ids);

    /**
     * Day32
     *  获取分类供首页
     */
    List<NongFuMallIndexCategoryVO> getCategoriesForIndex();

    /**
     * Day35
     *  返回分类数据(搜索页调用)
     */
    SearchPageCategoryVO getCategoriesForSearch(Long categoryId);

    /**
     * Day28
     *  根据parentId和level获取分类列表
     */
    List<GoodsCategory> selectByLevelAndParentIdsAndNumber(List<Long> parentIds, int categoryLevel);
}
